home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-25 | 2.9 KB | 107 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWClpCmd.h
- // Release Version: $ ODF 1 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWCLPCMD_H
- #define FWCLPCMD_H
-
- #ifndef FWCMD_H
- #include "FWCmd.h"
- #endif
-
- #ifndef FWPASTA_H
- #include "FWPasta.h"
- #endif
-
- // ----- OpenDoc Includes -----
-
- #ifndef FWODTYPS_H
- #include "FWODTyps.h"
- #endif
-
- #ifndef SOM_ODDraft_xh
- #include <Draft.xh>
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class FW_CPart;
- class FW_CFrame;
- class FW_CSelection;
- class ODClipboard;
- class FW_CLinkDestination;
-
- //========================================================================================
- // FW_CClipboardCommand - handles Cut, Clear, Paste, PasteAs commands
- // Subclass to make these commands Undo-able
- //========================================================================================
-
- class FW_CClipboardCommand : public FW_CCommand
- {
- public:
- FW_DECLARE_AUTO(FW_CClipboardCommand)
-
- //----------------------------------------------------------------------------------------
- // Constructors/Destructor
- //
- public:
- FW_CClipboardCommand(Environment* ev,
- ODCommandID id,
- FW_CFrame* frame,
- FW_Boolean canUndo);
- // Constructor: undo/redo strings = NULL
-
- virtual ~ FW_CClipboardCommand();
-
- //----------------------------------------------------------------------------------------
- // Inherited API
- //
- public:
- // --- Don't override ---
- virtual void DoIt(Environment* ev);
-
- // --- Override, call Inherited ---
- virtual void UndoIt(Environment* ev);
- virtual void RedoIt(Environment* ev);
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- public:
- // --- May override, don't call Inherited ---
- virtual void PreCommand(Environment* ev);
- virtual void CommandDone(Environment* ev);
-
- virtual void Clear(Environment* ev);
- virtual void Copy(Environment* ev);
- virtual void Cut(Environment* ev);
- virtual FW_Boolean Paste(Environment* ev);
- virtual FW_Boolean PasteAs(Environment* ev);
-
- protected:
- FW_CLinkDestination* GetNewLink(Environment* ev) const;
-
- private:
- FW_Boolean PrivPaste(Environment* ev);
- void PrivCopy(Environment* ev, FW_Boolean allowLink);
-
- //----------------------------------------------------------------------------------------
- // Data Members
- //
- protected:
- ODClipboard* fClipboard;
- ODUpdateID fUpdateID; // update id of clipboard for Cut, Paste
- ODCloneKind fCloneKind; // cloneKind of operation
- FW_MPasteAsHandler* fPasteAsHandler; // used for Paste As command
- FW_CSelection* fSelection;
- };
-
- #endif
-